package com.resou.reader.mine.vipcenter.vipCenter;

import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

import com.resou.reader.api.entry.MetMealBean;
import com.resou.reader.api.entry.PrivilegeBean;
import com.resou.reader.api.entry.UserInfoBean;
import com.resou.reader.api.entry.WXPayBean;
import com.resou.reader.base.BasePresenter;
import com.resou.reader.base.BaseView;
import com.resou.reader.data.vip.model.VipPrivilege;

import java.util.List;

/**
 * Author: 萤火虫
 * E-mail:  Allensuns@163.com
 * Description:
 * CreateTime: 2019-04 -16
 **/
public interface IVipCenterContract {

    interface IVipCenterView extends BaseView {

        void showCoupont(List<VipPrivilege.PackageDataBean> list);

        /**
         * VIew层用户信息
         *
         * @param userInfoBean
         */
        void showUserInfo(UserInfoBean userInfoBean);

        /**
         * 显示特权信息
         *
         * @param list
         */
        void showPrivilege(List<VipPrivilege.PrivilegeDataBean> list);

        /**
         * 支付宝支付订单
         *
         * @param orderInfo 支付订单信息
         */
        void showAliPayOrder(String orderInfo);

        /**
         * 微信支付订单
         *
         * @param orderInfo 支付订单信息
         */
        void showWXPayOrder(WXPayBean orderInfo);

        /**
         * 进入成功页面
         */
        void goPaySuccessPage();

        AppCompatActivity getViewContext();
    }

    interface IVipCenterPresenter extends BasePresenter {


        /**
         * 获取用户信息
         */
        void quearUserInfo();

        void quearPrivilege();

        /**
         * 获取套餐数据
         *
         * @return
         */
        List<VipPrivilege.PackageDataBean> quearMetMeal();

        /**
         * 获取套餐数据
         *
         * @return
         */
        void quearRemoteMetMeal();


        /**
         * 计算选中结果
         *
         * @return
         */
        List<VipPrivilege.PackageDataBean> calcMetMealCheck(List<VipPrivilege.PackageDataBean> list, int pos);

        /**
         * 描述会员信息
         *
         * @param state
         */
        String getVIPDes(int state);

        /**
         * 设置到期时间的颜色
         *
         * @param textView
         * @param text       内容
         * @param sourceText 时间
         */
        void setTimeColor(TextView textView, String text, String sourceText);

        /**
         * 充值成功后 更新VIP状态
         */
        void updataVIPState();

        /**
         * 获取支付宝订单
         *
         * @param price 支付金额
         */
        void quaerAliPayOrderInfo(String price, String id, String coupon);

        /**
         * 获取微信订单
         *
         * @param price 支付金额
         */
        void quaerWXPayOrderInfo(String price, String id, String coupon);
    }
}
